﻿using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;

namespace C4F.DevKit.Bluetooth
{
    namespace FileTransferProfile
    {

        /// <summary>
        /// EventArgs class to be used when an GetFolder operation 
        /// completes.
        /// </summary>
        public class GetFolderCompletedEventArgs : AsyncCompletedEventArgs
        {
            #region Private Members

            /// <summary>
            /// The location of the folder on the remote device that is being 
            /// pulled.
            /// </summary>
            private string remFolderPath;

            /// <summary>
            /// The location on local device where the pulled folder is 
            /// to be stored.
            /// </summary>
            private string locFolderPath;

            #endregion

            #region Public Properties
            /// <summary>
            /// The location on local device where the pulled folder is to be 
            /// stored.
            /// </summary>
            public string LocalFolderPath
            {
                get
                { return this.locFolderPath; }
            }

            /// <summary>
            /// The location of the folder on the remote device that is being 
            /// pulled.
            /// </summary>
            public string RemoteFolderPath
            {
                get
                { return this.remFolderPath; }
            }
            #endregion

            #region Constructor
            /// <summary>
            /// Initializes the GetFolderCompletedEventArgs object.
            /// </summary>            
            /// <param name="remoteFolderPath">The location of the folder on the
            /// remote device that is being pulled.</param>
            /// <param name="localFolderPath">The location on local device where
            /// the pulled folder is to be stored.</param>
            /// <param name="error">An error that occurred during the 
            /// asynchronous operation.</param>
            /// <param name="cancelled">A value indicating whether the 
            /// asynchronous operation was
            /// cancelled.</param>
            /// <param name="userState">The user-supplied state object 
            /// supplied when the asynchronous operation was requested.</param>


            public GetFolderCompletedEventArgs(string remoteFolderPath,
                                               string localFolderPath,
                                               Exception error,
                                               bool cancelled,
                                               object userState)
                : base(error, cancelled, userState)
            {
                this.locFolderPath = localFolderPath;
                this.remFolderPath = remoteFolderPath;
            }
            #endregion
        }
    }
}